Modern computer systems collect large amounts of information from various physical systems. These physical machines are usually subjected to repetitive loads organized in regular duty cycles, and tend to wear out in a more or less regular pattern, gradually reaching a state when they fail, due to a partial or complete breakdown. Maintaining such machines in good working order is an important task associated with their operation, and how and when maintenance is performed has a very significant effect on the economic aspect of their operation. One maintenance strategy is to repair a machine only after it fails (also known as corrective maintenance). This strategy is very often not optimal at all, because repairs of an entire failed machine might be costlier than replacing a single part before the machine breaks, and also machine failure might result in wasted materials, unacceptable product quality, and might even endanger the personnel operating the machine. In situations when corrective maintenance is not a viable or economic option, a different strategy is used—regular maintenance of the machine at fixed intervals, for example one year. Examples of such safety critical machines are elevators and cars; in most parts of the world, their maintenance is done once per year, and corresponding certificates are issued. This strategy is commonly known as preventive maintenance.
Although preventive maintenance addresses the safety issues that are associated with machine maintenance, there are many cases when it is not economically optimal. The first problem with preventive maintenance is that the length of the maintenance cycle is often arbitrary (e.g., one year or one month), and has more to do with the convenience of the inspection authorities and the logistics of the inspection process (e.g. issuing inspection stickers for cars), than with the actual need of the machines. The second problem is that a single maintenance cycle could not possibly be optimal for all machines in a group, where some of the machines are new, and might require maintenance not very often, whereas older machines might require maintenance much more often.
In the machine analysis industry, sensors are typically used to measure machine parameters. As the instrumentation of machine operations increases, large amounts of data are being collected from sensors that monitor operations of the machines. The data from some sensors may also be generated at a relatively high frequency, which further results in large amounts of data. The data streams from sensors associated with machines may be analyzed to determine the state of the machine. For example, in some cases, a data stream from a sensor associated with machines may be analyzed to determine whether the machine is not performing as expected, referred to as equipment failure. An inability to rapidly process data from sensors can result in loss of information that may be indicative or predictive of machine failure. Therefore, a need exists in the art for an improved way to detect and/or predict machine failure from the large amounts of data.